home *** CD-ROM | disk | FTP | other *** search
/ Opening the Theater in our Minds: Visual Thinking / Gatekeeper Multi Media Video Software - Volume 1 Visual Thinking.ISO / runtime / firstlit.mst < prev    next >
Encoding:
Text File  |  1993-09-03  |  17.0 KB  |  382 lines

  1. '**************************************************************************
  2. '*                       Gatekeeper Volume 1 CD-ROM
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'mscpydis.inc'    ''System
  7. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST GKWELCOME     = 110
  12. CONST GKCNCTHERE    = 101
  13. CONST GKMAINTHERE   = 102
  14. CONST GKASKDRIVE    = 103
  15. CONST BADPATH       = 105
  16. CONST ASKQUIT       = 200
  17. CONST EXITFAILURE   = 400
  18. CONST EXITQUIT      = 600
  19. CONST EXITSUCCESS   = 700
  20. CONST TOOSMALL      = 6300
  21. CONST IDENTERDRIVE  = 1007
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. ''Disk Sizes
  27.  
  28. GLOBAL File1
  29. GLOBAL File2
  30. GLOBAL WantedDiskSize&
  31.  
  32. ''File Types
  33. GLOBAL DEST$        ''Default destination directory.
  34. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  35. GLOBAL OPTCUR$      ''Option selection from option dialog.
  36. GLOBAL CHECKSTATES$
  37. GLOBAL RUNTIME$
  38. GLOBAL AVITOOLS$
  39. GLOBAL MDKTOOLS$
  40. GLOBAL TOOLS$
  41.  
  42. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  43. WinDir$ = GetWindowsDir()
  44. WinSysDir$ = GetWindowsSysDir()
  45.  
  46.  
  47. '* line 50 above
  48. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  49.  
  50. INIT:
  51.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  52.  
  53.     MajorVer% = GetWindowsMajorVersion()
  54.     MinorVer% = GetWindowsMinorVersion()
  55.  
  56.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  57.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software. Setup exiting.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  58.        END
  59.     ENDIF
  60.  
  61.     SetBitmap CUIDLL$, LOGO
  62.     SetTitle "GateKeeper CD-ROM Vol. 1"
  63.  
  64.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  65.     IF szInf$ = "" THEN
  66.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  67.     ENDIF
  68.     ReadInfFile szInf$
  69.  
  70.     WINDRIVE$ = MID$(WinDir$, 1, 1)
  71.  
  72. WELCOME:
  73.     TBOOK$ = "C:\FIRSTLIT\TBOOK.EXE"
  74.     DEST$ = "C:\FIRSTLIT"
  75.     
  76.     ToolBookExists$ = GetIniKeyString("WIN.INI","Extensions","TBK")
  77.     IF ToolBookExists$ <> "" THEN
  78.        IF MID$(ToolBookExists$, (LEN(ToolBookExists$)-14), 15) = "tbook.exe ^.TBK" THEN
  79.           TBOOK$ = MID$(ToolBookExists$, 1, (LEN(ToolBookExists$) - 6))
  80.           DEST$ = MID$(TBOOK$, 1, (LEN(TBOOK$) - 10))
  81.        ELSEIF MID$(ToolBookExists$, (LEN(ToolBookExists$)-17), 18) = "toolbook.exe ^.TBK" THEN
  82.           TBOOK$ = MID$(ToolBookExists$, 1, (LEN(ToolBookExists$) - 6))
  83.           DEST$ = MID$(TBOOK$, 1, (LEN(TBOOK$) - 13))
  84.        ELSEIF MID$(ToolBookExists$, (LEN(ToolBookExists$)-14), 15) = "TBOOK.EXE ^.TBK" THEN
  85.           TBOOK$ = MID$(ToolBookExists$, 1, (LEN(ToolBookExists$) - 6))
  86.           DEST$ = MID$(TBOOK$, 1, (LEN(TBOOK$) - 10))
  87.        ELSEIF MID$(ToolBookExists$, (LEN(ToolBookExists$)-17), 18) = "TOOLBOOK.EXE ^.TBK" THEN
  88.           TBOOK$ = MID$(ToolBookExists$, 1, (LEN(ToolBookExists$) - 6))
  89.           DEST$ = MID$(TBOOK$, 1, (LEN(TBOOK$) - 13))
  90.        ENDIF
  91.     ENDIF
  92.  
  93. GETDEST:
  94.     SetSymbolValue "ConfirmTextIn", DEST$
  95.     sz$ = UIStartDlg(CUIDLL$, GKWELCOME, "FConfirmDlgProc",0,"")
  96.     IF sz$ = "CONTINUE" THEN
  97.        UIPop 1
  98.     ELSEIF sz$ = "CANCEL" THEN
  99.        UIPop 1
  100.        GOTO GETPATH
  101.     ELSE
  102.        GOSUB ASKQUIT
  103.        GOTO WELCOME
  104.     ENDIF
  105.  
  106. CUSTINST:
  107.     ClearCopyList
  108.  
  109.     WantedDiskSize&=11000
  110.  
  111.     DiskSize&=GetFreeSpaceForDrive(MID$(DEST$,1,1))
  112.  
  113.     If WantedDiskSize& > DiskSize& then
  114.        GOSUB TOOSMALL
  115.        GOTO GETDEST
  116.     EndIf
  117.  
  118.    CopyFile WINDIR$+"SYSTEM.INI" ,WINDIR$+"SYSTEM.BGK",cmoOverwrite, 0
  119.    CopyFile WINDIR$+"WIN.INI",WINDIR$+"WIN.BGK", cmoOverwrite, 0
  120.  
  121. '' Setting up OLD files that need to be removed from the users computer
  122.     AddSectionFilesToCopyList "Remove Files", SrcDir$, WinDir$
  123.  
  124. '' Setting RUNTIME files to be copied
  125.     AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
  126.     AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  127.     AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  128.     AddSectionFilesToCopyList "MBrowser", SrcDir$, WinDir$
  129.     AddSectionFilesToCopyList "MBrowser Bitmaps", SrcDir$, WinSysDir$
  130.     AddSectionFilesToCopyList "ToolBook Files", SrcDir$, DEST$
  131.     AddSectionFilesToCopyList "Firstlight Files", SrcDir$, DEST$
  132.  
  133. CopyFilesInCopyList
  134.  
  135. ''Updating WIN.INI and SYSTEM.INI
  136.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  137.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "indeor3.drv", cmoOverwrite
  138.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeo_u.drv", cmoOverwrite
  139.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "indeo_u.drv", cmoOverwrite
  140.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  141.     CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  142.     CreateIniKeyValue "WIN.INI", "Extensions", "GBK",TBOOK$+" ^.GBK", cmoNone
  143.     CreateIniKeyValue "WIN.INI", "Extensions", "TBK",TBOOK$+" ^.TBK", cmoNone
  144.     CreateIniKeyValue "WIN.INI", "Extensions", "WAV",MakePath(WinDir$,"mplayer.exe /play /close ^.wav") , cmoOverwrite
  145.     CreateIniKeyValue "WIN.INI", "Extensions", "AVI",MakePath(WinDir$,"mplayer.exe /play /close ^.avi") , cmoOverwrite
  146.     CreateIniKeyValue "WIN.INI", "Embedding", "MPlayer","Media Clip,Media Clip,mplayer.exe,picture", cmoOverwrite
  147.  
  148. ''[gatekeeper]
  149. ''cddrive=D:
  150.     CreateIniKeyValue "WIN.INI", "gatekeeper", "cddrive",MID$(SrcDir$,1,2), cmoOverwrite
  151.     CreateIniKeyValue "WIN.INI", "programs", "TBOOK.EXE", TBOOK$, cmoOverwrite
  152.  
  153.  
  154. ''Create a MBROWSER.INI files with the paths and labels for the CD-ROM Gatekeeper Volume 1
  155.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Bitmaps_for_Backdrops","GATEKEEPER1,\BITMAPS.MBR,picture.bmp,Bitmaps for Backdrops,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  156.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Americans_At_Work","GATEKEEPER1,\AMERICAN.MBR,amers.bmp,Americans At Work,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  157.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Announcements_and_Celebrations","GATEKEEPER1,\ANOUNCE.MBR,anonc.bmp,Announcements and Celebrations,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  158.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Firstlight_Custom_Files","GATEKEEPER1,\FIRSTLIT.MBR,,Firstlight Custom Files,GateKeeper Volume 1 CD-ROM ", cmoOverwrite
  159.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "GateKeeper_Presentations","GATEKEEPER1,\GATEBOOK.MBR,,GateKeeper Presentations,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  160.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "The_American_Family","GATEKEEPER1,\FAMILY.MBR,famly.bmp,The American Family,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  161.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Female_Voice_with_Graphic","GATEKEEPER1,\FEMBYTES.MBR,female.bmp,Female Voice with Graphic,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  162.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Fitness","GATEKEEPER1,\FITNESS.MBR,fitness.bmp,Fitness,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  163.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Global_Perspectives","GATEKEEPER1,\GLOBAL.MBR,globl.bmp,Global Perspectives,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  164.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Talking_Heads","GATEKEEPER1,\HEADS.MBR,male.bmp,Talking Heads,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  165.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Out_In_Space","GATEKEEPER1,\INSPACE.MBR,inspace.bmp,Out In Space,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  166.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Invitations","GATEKEEPER1,\INVITE.MBR,invite.bmp,Invitations,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  167.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Male_Voice_with_Graphic","GATEKEEPER1,\MENBYTES.MBR,male.bmp,Male Voice with Graphic,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  168.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Office_Workplace","GATEKEEPER1,\OFFICE.MBR,office.bmp,Office Workplace,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  169.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Trouble_On_the_Way","GATEKEEPER1,\TROUBLE.MBR,trouble.bmp,Trouble On the Way,GateKeeper CD-ROM", cmoOverwrite
  170.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Touring_the_USA","GATEKEEPER1,\USASPOTS.MBR,usaspot.bmp,Touring the USA,GateKeeper CD-ROM", cmoOverwrite
  171.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Female_Statements","GATEKEEPER1,\V_FEMALE.MBR,female.bmp,Female Statements,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  172.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Male_Statements","GATEKEEPER1,\V_MALE.MBR,male.bmp,Male Statements,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  173.     CreateIniKeyValue WinDir$ + "MBROWSER.INI", "Collections", "Music_Sound_Tracks","GATEKEEPER1,\V_MUZAX.MBR,music.bmp,Music Sound Tracks,GateKeeper Volume 1 CD-ROM", cmoOverwrite
  174.  
  175. Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  176.  
  177. Run ("profdisp")
  178.  
  179. '' Copy ToolBook runtime stuff, and then run the Main Menu
  180. WorkDir$=MID$(SrcDir$,1,3)
  181. IconFile$=MakePath(DEST$,"Firstico.dll")
  182. ToolBook$=TBOOK$+" "+WorkDir$
  183.  
  184. PUTGATECNC:
  185.     IF DoesFileExist(WINDIR$+"GATEKEEP.GRP",femExists) = 1 THEN
  186.        sz$ = UIStartDlg(CUIDLL$, GKCNCTHERE, "FInfoDlgProc",0,"")
  187.        IF sz$ = "EXIT" THEN
  188.           GOSUB ASKQUIT
  189.           GOTO PUTGATECNC
  190.        ELSEIF sz$ = "CONTINUE" THEN
  191.           UIPop 1
  192.           RemoveProgmanGroup "GateKeeper Click & Change", cmoForce
  193.        ELSE
  194.           UIPop 1
  195.           GOTO PUTGATEMAIN
  196.        ENDIF
  197.     ENDIF
  198.  
  199. '' GATEKEEPER Click & Change Toolbook Files
  200.     CreateProgmanGroup "GateKeeper Click & Change", WINDIR$+"GATEKEEP.GRP", cmoNone
  201.     ShowProgmanGroup  "GateKeeper Click & Change", 1, cmoNone
  202.     CreateProgmanItem "GateKeeper Click & Change", "Adding It Up", ToolBook$+"FIRSTLIT\ADDING.GBK", IconFile$+",0,-1,-1,"+DEST$, cmoOverwrite
  203.     CreateProgmanItem "GateKeeper Click & Change", "Take Your Best Shot", ToolBook$+"FIRSTLIT\BESTSHOT.GBK", IconFile$+",1,-1,-1,"+DEST$, cmoOverwrite
  204.     CreateProgmanItem "GateKeeper Click & Change", "Down to Business", ToolBook$+"FIRSTLIT\BUSINESS.GBK", IconFile$+",2,-1,-1,"+DEST$, cmoOverwrite
  205.     CreateProgmanItem "GateKeeper Click & Change", "Business Promotion", ToolBook$+"FIRSTLIT\BUSPROMO.GBK", IconFile$+",3,-1,-1,"+DEST$, cmoOverwrite
  206.     CreateProgmanItem "GateKeeper Click & Change", "Let's Have Coffee", ToolBook$+"FIRSTLIT\COFFEE.GBK", IconFile$+",5,-1,-1,"+DEST$, cmoOverwrite
  207.     CreateProgmanItem "GateKeeper Click & Change", "Congratulations", ToolBook$+"FIRSTLIT\CONGRATS.GBK", IconFile$+",18,-1,-1,"+DEST$, cmoOverwrite
  208.     CreateProgmanItem "GateKeeper Click & Change", "Health Cycle", ToolBook$+"FIRSTLIT\CYCLE.GBK", IconFile$+",4,-1,-1,"+DEST$, cmoOverwrite
  209.     CreateProgmanItem "GateKeeper Click & Change", "Let's Pull Together", ToolBook$+"FIRSTLIT\LETSPULL.GBK", IconFile$+",8,-1,-1,"+DEST$, cmoOverwrite
  210.     CreateProgmanItem "GateKeeper Click & Change", "Product Model", ToolBook$+"FIRSTLIT\MODEL.GBK", IconFile$+",14,-1,-1,"+DEST$, cmoOverwrite
  211.     CreateProgmanItem "GateKeeper Click & Change", "Over the Top", ToolBook$+"FIRSTLIT\OVERTOP.GBK", IconFile$+",10,-1,-1,"+DEST$, cmoOverwrite
  212.     CreateProgmanItem "GateKeeper Click & Change", "Corporate Overview", ToolBook$+"FIRSTLIT\OVERVIEW.GBK", IconFile$+",19,-1,-1,"+DEST$, cmoOverwrite
  213.     CreateProgmanItem "GateKeeper Click & Change", "Plan On It", ToolBook$+"FIRSTLIT\PLANONIT.GBK", IconFile$+",11,-1,-1,"+DEST$, cmoOverwrite
  214.     CreateProgmanItem "GateKeeper Click & Change", "Sales Incentive Program", ToolBook$+"FIRSTLIT\SALESPGM.GBK", IconFile$+",12,-1,-1,"+DEST$, cmoOverwrite
  215.     CreateProgmanItem "GateKeeper Click & Change", "Score!", ToolBook$+"FIRSTLIT\SCORE.GBK", IconFile$+",13,-1,-1,"+DEST$, cmoOverwrite
  216.     CreateProgmanItem "GateKeeper Click & Change", "Showtime", ToolBook$+"FIRSTLIT\SHOWTIME.GBK", IconFile$+",15,-1,-1,"+DEST$, cmoOverwrite
  217.     CreateProgmanItem "GateKeeper Click & Change", "Let's Get Started", ToolBook$+"FIRSTLIT\STARTED.GBK", IconFile$+",16,-1,-1,"+DEST$, cmoOverwrite
  218.     CreateProgmanItem "GateKeeper Click & Change", "Surely You Jest", ToolBook$+"FIRSTLIT\YOUJEST.GBK", IconFile$+",17,-1,-1,"+DEST$, cmoOverwrite
  219. '' 2 times files
  220.     CreateProgmanItem "GateKeeper Click & Change", "Adding It Up X 2", ToolBook$+"FIRSTLIT\ADDING2.GBK", IconFile$+",20,-1,-1,"+DEST$, cmoOverwrite
  221.     CreateProgmanItem "GateKeeper Click & Change", "Take Your Best Shot X 2", ToolBook$+"FIRSTLIT\BESTSHT2.GBK", IconFile$+",21,-1,-1,"+DEST$, cmoOverwrite
  222.     CreateProgmanItem "GateKeeper Click & Change", "Let's Have Coffee X 2", ToolBook$+"FIRSTLIT\COFFEE2.GBK", IconFile$+",22,-1,-1,"+DEST$, cmoOverwrite
  223.     CreateProgmanItem "GateKeeper Click & Change", "Congratulations X 2", ToolBook$+"FIRSTLIT\CONGRAT2.GBK", IconFile$+",24,-1,-1,"+DEST$, cmoOverwrite
  224.     CreateProgmanItem "GateKeeper Click & Change", "Let's Pull Together X 2", ToolBook$+"FIRSTLIT\LETSPUL2.GBK", IconFile$+",25,-1,-1,"+DEST$, cmoOverwrite
  225.     CreateProgmanItem "GateKeeper Click & Change", "Over the Top X 2", ToolBook$+"FIRSTLIT\OVERTOP2.GBK", IconFile$+",26,-1,-1,"+DEST$, cmoOverwrite
  226.     CreateProgmanItem "GateKeeper Click & Change", "Surely You Jest X 2", ToolBook$+"FIRSTLIT\YOUJEST2.GBK", IconFile$+",23,-1,-1,"+DEST$, cmoOverwrite
  227.  
  228. PUTGATEMAIN:
  229.     IF DoesFileExist(WINDIR$+"GATEKEE0.GRP",femExists) = 1 THEN
  230.        sz$ = UIStartDlg(CUIDLL$, GKMAINTHERE, "FInfoDlgProc",0,"")
  231.        IF sz$ = "EXIT" THEN
  232.           GOSUB ASKQUIT
  233.           GOTO PUTGATEMAIN
  234.        ELSEIF sz$ = "CONTINUE" THEN
  235.           UIPop 1
  236.           RemoveProgmanGroup "GateKeeper Main", cmoForce
  237.        ELSE
  238.           UIPop 1
  239.           GOTO RUNMENU
  240.        ENDIF
  241.     ENDIF
  242.  
  243. '' Updating Progman Groups
  244.     CreateProgmanGroup "GateKeeper Main", WINDIR$+"GATEKEE0.GRP", cmoOverwrite
  245.     ShowProgmanGroup  "GateKeeper Main", 1, cmoNone
  246.  
  247. '' GateKeeper Main menu
  248.     CreateProgmanItem "GateKeeper Main", "Gatekeeper Main Menu", MakePath(ToolBook$, "FIRSTLIT\MENU.TBK"), IconFile$+",9,0,0,"+DEST$,cmoOverwrite
  249. '' GetKeeper text
  250.     CreateProgmanItem "GateKeeper Main", "Gatekeeper User Guide", MakePath(WorkDir$, "FIRSTLIT\GATEKEEP.WRI"), IconFile$+",7,0,0,"+WinDir$,cmoOverwrite
  251.  
  252. '' Media Player & Media Browser
  253.     CreateProgmanItem "GateKeeper Main", "Media Player", MakePath(WinDir$, "mplayer.exe"),",,0,0,"+WinDir$,cmoOverwrite
  254.     CreateProgmanItem "GateKeeper Main", "Media Browser", MakePath(WinDir$, "mbrowser.exe"),",,0,0,"+WinDir$,cmoOverwrite
  255.  
  256. RUNMENU:
  257. ''Define files and paths to use with Program Item and to set Icon for Toolbook applications
  258. Menu$=MakePath(ToolBook$, "FIRSTLIT\MENU.TBK")
  259.  
  260. run(Menu$)
  261.  
  262. QUIT:
  263.     ON ERROR GOTO ERRQUIT
  264.  
  265.     IF ERR = 0 THEN
  266.        dlg% = EXITSUCCESS
  267.     ELSEIF ERR = STFQUIT THEN
  268.        dlg% = EXITQUIT
  269.     ELSE
  270.        dlg% = EXITFAILURE
  271.     END IF
  272. QUITL1:
  273.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  274.     IF sz$ = "REACTIVATE" THEN
  275.        GOTO QUITL1
  276.     END IF
  277.     UIPop 1
  278.  
  279.     END
  280.  
  281. ERRQUIT:
  282.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  283.     END
  284.  
  285. ASKQUIT:
  286.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  287.  
  288.     IF sz$ = "EXIT" THEN
  289.        UIPopAll
  290. ''        ERROR STFQUIT
  291.        END
  292.     ELSEIF sz$ = "REACTIVATE" THEN
  293.        GOTO ASKQUIT
  294.     ELSE
  295.        UIPop 1
  296.     END IF
  297.     RETURN
  298.  
  299. TOOSMALL:
  300.     sz$ = UIStartDlg(CUIDLL$, TOOSMALL, "FInfo0DlgProc", 0, "")
  301.     IF sz$ = "REACTIVATE" THEN
  302.        GOTO TOOSMALL
  303.     END IF
  304.     UIPop 1
  305.     RETURN
  306.  
  307. '**
  308. '** Purpose:
  309. '**     Appends a file name to the end of a directory path,
  310. '**     inserting a backslash character as needed.
  311. '** Arguments:
  312. '**     szDir$  - full directory path (with optional ending "\")
  313. '**     szFile$ - filename to append to directory
  314. '** Returns:
  315. '**     Resulting fully qualified path name.
  316. '*************************************************************************
  317. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  318.     IF szDir$ = "" THEN
  319.        MakePath = szFile$
  320.     ELSEIF szFile$ = "" THEN
  321.        MakePath = szDir$
  322.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  323.        MakePath = szDir$ + szFile$
  324.     ELSE
  325.        MakePath = szDir$ + "\" + szFile$
  326.     END IF
  327. END FUNCTION
  328.  
  329. GETPATH:
  330.     SetSymbolValue "EditTextIn", DEST$
  331.     SetSymbolValue "EditFocus", "ALL"
  332. GETPATHL1:
  333.     sz$ = UIStartDlg(CUIDLL$, GKASKDRIVE, "FEditDlgProc", 0, "")
  334.  
  335.     IF sz$ = "CONTINUE" THEN
  336.        olddest$ = DEST$
  337.        DEST$ = GetSymbolValue("EditTextOut")
  338.  
  339.        ''Validate new path.
  340.        IF LEN( DEST$ ) < 4 THEN
  341.           GOSUB BADPATH
  342.           GOTO GETPATHL1
  343.        END IF
  344.  
  345.        IF MID$( DEST$, 1, 1 ) = "A" THEN
  346.           GOSUB BADPATH
  347.           GOTO GETPATHL1
  348.        END IF
  349.  
  350.        IF MID$( DEST$, 1, 1 ) = "B" THEN
  351.           GOSUB BADPATH
  352.           GOTO GETPATHL1
  353.        END IF
  354.  
  355.        IF IsDirWritable(DEST$) = 0 THEN
  356.           GOSUB BADPATH
  357.           GOTO GETPATHL1
  358.        END IF
  359.        UIPop 1
  360.        TBOOK$ = DEST$ + "\TBOOK.EXE"
  361.        GOTO CUSTINST
  362.     ELSEIF sz$ = "REACTIVATE" THEN
  363.        GOTO GETPATHL1
  364.     ELSEIF sz$ = "EXIT" THEN
  365.        UIPop 1
  366.        GOSUB ASKQUIT
  367.        GOTO GETPATHL1
  368.     ELSE
  369.        UIPop 1
  370.        TBOOK$ = DEST$ + "\TBOOK.EXE"
  371.        GOTO CUSTINST
  372.     END IF
  373.  
  374. BADPATH:
  375.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  376.     IF sz$ = "REACTIVATE" THEN
  377.        GOTO BADPATH
  378.     END IF
  379.     UIPop 1
  380.     RETURN
  381.  
  382.